home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
007
/
examples.arc
/
EXAMPL16.PRO
< prev
next >
Wrap
Text File
|
1986-10-07
|
842b
|
32 lines
/* Program 16 */
/*
This program will find pairs. Enter the goal:
findpairs.
*/
domains
name,sex,interest = symbol
interests = interest*
predicates
findpairs
person(name,sex,interests)
member(interest,interests)
common_interest(interests,interests,interest)
clauses
findpairs if person(Man, m, ILIST1 ) and
person( Woman, f, ILIST2 ) and
common_interest( ILIST1, ILIST2, _ ) and
write( Man, " might like ",Woman ) and nl and
fail.
findpairs:- write ("---end of the list---\n").
common_interest( IL1, IL2, X ) if
member(X, IL1 ) and member(X, IL2) and !.
person(tom,m,[travel,books,baseball]).
person(mary,f,[wine,books,swimming,travel]).
member( X, [X|_] ).
member( X, [_|L] ) if member( X, L ).